package file01;

import java.io.File;

/*
File类的获取功能：
       String getName()
          返回的是路径中的最后一级路径(文件或文件夹)

       String getPath()
          如果File对象中封装的是相对路径，那么getPath结果就是相对路径
          如果File对象中封装的是绝对路径，那么getPath结果就是绝对路径

       long length()
          获取文件的长度，单位是byte
          不能获取文件夹的长度

       String getParent()
          该方法返回父级路径(最后一级路径前面的路径)
          如果该路径只有一级路径(没有父级路径)，结果为null

       File getParentFile()
          返回此抽象路径名父目录的抽象路径名；如果此路径名没有指定父目录，则返回 null。

       File getAbsoluteFile()
          无论File对象中封装的是什么路径，最终都返回以一个绝对路径

       String getAbsolutePath()
          无论File对象中封装的是什么路径，最终都返回以一个绝对路径
 */
public class FileDemo06 {
    public static void main(String[] args) {
        //method01();
        //method02();
        //method03();

        File file = new File("Day22/abc/2.txt");
        System.out.println(file.getAbsolutePath());//D:\java_vev\workspace\java-se\Project_JavaSE\Day22\abc\2.txt

        File file2 = new File("D:\\java_vev\\workspace\\java-se\\Project_JavaSE\\Day22\\abc\\1.txt");
        System.out.println(file2.getAbsolutePath());//D:\java_vev\workspace\java-se\Project_JavaSE\Day22\abc\1.txt

        File file3 = new File("Day22/abc/2.txt");
        System.out.println(file3.getAbsoluteFile().getName());//2.txt
    }

    private static void method03() {
        File file = new File("Day22/1.txt");
        System.out.println(file.getParent());//Day22

        File file2 = new File("Day22/abc/2.txt");
        System.out.println(file2.getParent());//Day22\abc

        File file3 = new File("1.txt");
        System.out.println(file3.getParent());//null

        File file4 = new File("Day22/abc/2.txt");

        File parentFile = file4.getParentFile();
        //System.out.println(parentFile);//Day22\abc
        System.out.println(parentFile.exists());//true
    }


    private static void method02() {
        File file = new File("Day22/1.txt");
        System.out.println(file.length());

        File file2 = new File("Day22/abc");
        System.out.println(file2.length());//0
    }

    private static void method01() {
        File file = new File("Day22/1.txt");
        System.out.println(file.getName());//1.txt

        File file2 = new File("Day22/ac");
        System.out.println(file2.getName());//ac

        File file3 = new File("Day22/1.txt");
        System.out.println(file3.getPath());//Day22\1.txt

        File file4 = new File("D:\\java_vev\\workspace\\java-se\\Project_JavaSE\\Day22\\1.txt");
        System.out.println(file4.getPath());//
    }
}
